﻿using System;
using System.Collections.Generic;

namespace MC2Development.DevWebServer
{
    /// <summary>
    /// Parameters used to initialise the web server and control its behaviour
    /// </summary>
    public class ServerParameters
    {
        /// <summary>
        /// A collection of address prefixes to listen for
        /// </summary>
        public IEnumerable<Uri> BaseAddresses { get; set; }

        /// <summary>
        /// Request Handler Settings
        /// </summary>
        public Handler RequestHandler { get; set; }

        /// <summary>
        /// Authentication Settings
        /// </summary>
        public Authentication Authentication { get; set; }

        /// <summary>
        /// Indicates if the request handler should check for the presence of a request body
        /// </summary>
        public bool ValidateRequestBodyExists { get; set; }

        /// <summary>
        /// The processing delay in milliseconds.
        /// </summary>
        /// <remarks>Can be used to test timeout processing</remarks>
        public int Delay { get; set; }

        /// <summary>
        /// The MIME content type to return
        /// </summary>
        public string ContentType { get; set; }
    }
}
